The recent advances in networking technologies and mobile devices is allowing more and more mobile users to receive multimedia contents over wireless networks. Real-time delivery of multimedia data is called streaming. Streaming, which is typically server-based, allows users to consume contents while they download them. Recently, peer-to-peer (P2P) streaming has become popular as a potentially cost-effective alternative to server-based streaming.
In P2P systems, peers not only consume media contents, but also contribute their uplink bandwidth and/or local storage. Thus the system can scale well as users bring resources to the system. Mobile devices often connect to the network via wireless channels. But, the downlink of the wireless channel (e.g., the cellular access network) tends to be limited in throughput. The wireless channel may also suffer from channel fading or unexpected interferences, which results in throughput fluctuation. Thus, it is desirable to adjust the bitrate of the audio stream over time to adapt to channel conditions. In addition, it is desirable to adapt the audio signal to individual mobile users depending on the requirements of applications and the hardware limitations of the mobile devices (e.g., low-end built-in speaker).
The change in the bitrate or in the quality of the audio signal can be achieved by transcoding. When a mobile device connects to a peer in the P2P system, the fixed peer transcodes the original audio signal according to the unique requirements of the mobile device, including its wireless channel condition and/or its multimedia capability. However, peers in the systems are unreliable because they can leave the system anytime. When peers leave the system without prior notice, mobile users connected to the departing peers may experience temporary disruption in downloading the audio and/or unwanted disconnection from a P2P system.